medical device software embedded systems project management java management development embedded software development outsource software developers open source engineer embedded software change management medical firmware medical device firmware fda consulting outsourcing engineering engineers bpo linux projects manufacturing